3.1.3 Der Aufbau eines Kernprogramms

In einem Kernprogramm müssen zu Beginn immer Startwerte und Konstanten definiert werden. Anders als in einem Pascal-Programm übernimmt PAKMA aber intern die Deklaration der Variablen. Wenn keine anderen Anweisungen getroffen werden, werden alle Variablen dem Typ Real (reelle Zahlen) zugeordnet.
Der übrige Teil besteht im allgemeinen aus einer Schleifenstruktur (z. B. Repeat-Until-Schleife), in welcher die iterative Berechnung der gesuchten Größen durchgeführt wird. Dabei werden die Ausgabegrößen i. allg. schrittweise in Abhängigkeit einer weiteren Größe „z“ (z. B. der Zeit oder der Ort des Weges) berechnet. Die Größe „z“ wird dann für den folgenden Schleifendurchlauf um die als Konstante festzulegende Schrittweite „dz“ erhöht. Die Schleife wird so oft durchlaufen, bis ein vorher festgelegter maximaler Wert der Größe „z“ überschritten wird. Durch diesen maximalen Wert wird der „Umfang“ des Modells bestimmt.
Damit die gesuchten Größen in einem Ausgaben-Fenster ausgegeben und veranschaulicht werden können, müssen ihre Werte jeweils nach einer Berechnung zur Verfügung gestellt (ausgegeben) werden. Hierfür existiert folgender wohl wichtigster PAKMA-Befehl, ohne den kein PAKMA- Projekt Informationen nach außen abgeben kann:
ausgabe(a,b,c,...)
Bei den Größen a,b,c,... , die als Argument in dieser „Ausgabe“-Anweisung stehen, handelt es sich um die Größen, die in den Ausgaben-Fenstern eines Projektes veranschaulicht werden sollen.

In der Ausgabeanweisung müssen alle Größen aufgeführt sein, die in den Ausgaben-Fenstern eines Projektes dargestellt werden sollen.

Ein Kernprogramm hat also folgenden prinzipiellen Aufbau:
Als Größe „z“ wurde hier die Zeit t gewählt.
Anders als in einem Pascal-Programm können innerhalb einer Zeile mehrere Anweisungen stehen, die jeweils durch ein Semikolon voneinander zu trennen sind. Weiterhin besteht die Möglichkeit, bei der Eingabe in jeder Zeile einen Kommentar einzufügen, der durch zwei aufeinanderfolgende Schrägstriche und sinnvollerweise durch Leerstellen von den eigentlichen Anweisungen getrennt werden muss.
t:=0;          // Festlegen der Startwerte und Konstanten
dt:=...;    // Festlegen der Schrittweite
mt:=...;   //Festlegen der Ablaufzeit mt
REPEAT     //Schleifenbeginn
  Wertzuweisungen;   //Berechnung der Ausgabegrößen
  und Rechenbefehle;  // jeweils für einen Wert von t
  ausgabe (Variablenliste);   //Ausgabeanweisung
  t:=t+dt;  //Erhöhung von t um Schrittweite dt
UNTIL t > mt; //Abbruchbedingung der Schleife 

PAKMA ist in der Lage, gewisse Formalien zu erledigen, die sonst bei der Eingabe eines PASCAL-Programms beachtet werden müssten. Es ist z. B. nicht erforderlich die in Pascal bei Wertzuweisungen notwendigen Doppelpunkte (a:=...) sowie das Semikolon am Zeilenende zu schreiben. Sie werden von PAKMA beim Verlassen jeder Anweisungszeile automatisch eingefügt werden. Wenn man z.B. „F = – k * y“ eingibt, so wird beim Verlassen der Zeile daraus „F := – k * y;“.

Welche Möglichkeiten außerdem für die automatische Korrektur bei der Eingabe des Kernprogramms in PAKMA zur Verfügung stehen, wurde bereits im letzten Abschnitt 3.1.2 angegeben. Nachdem man das Kernprogramm komplett eingegeben hat, kann man das Editor-Fenster mittels Klick auf O.K. schließen oder aber über Abbruch die gemachten Eingaben verwerfen.

Falls man später bestimmte Anfangswerte oder Konstanten für verschiedene Durchläufe des Modells verändern will, so ist es wesentlich übersichtlicher und einfacher, diese nicht am Anfang des Kernprogramms zu definieren, sondern hierfür das Fenster Startwerte zu verwenden. Es ist jedoch dann darauf zu achten, dass die Werte nicht noch einmal im Kernprogramm definiert werden. Falls dies doch geschieht, gilt der zuletzt zugewiesene Wert.

Im Kernprogrammeditor können alle PAKMA-spezifischen Befehle über den Button (rechtsoben, s. Abb. 3.14) aufgerufen werden. In dem sich öffnenden Fenster können die Kernprogramm-Befehle, ~ -Meßbefehle und ~ -Variablen/Konstanten durch Doppelklick in das Editorfenster eingefügt werden.



weiter mit...

Das Startwerte-Fenster